package com.andy.blog.dal.service;


import com.andy.blog.dal.domain.SysDictDataDO;
import com.andy.blog.dal.vo.SysDictDataVO;
import com.baomidou.mybatisplus.core.metadata.IPage;

import java.util.List;

/**
 * 字典
 * Created by andy on 2023-04-05 11:38
 */
public interface SysDictDataDalService {

    /**
     * 分页查询
     */
    IPage<SysDictDataDO> selectListByPage(SysDictDataVO sysDictDataVO);


    /**
     * 根据字典类型和字典键值查询字典数据信息
     *
     * @param dictType  字典类型
     * @param dictValue 字典键值
     * @return 字典标签
     */
    public String selectDictLabel(String dictType, String dictValue);


    /**
     * 新增
     */
    void insertDictData(SysDictDataVO sysDictDataVO);

    /**
     * 修改保存字典数据信息
     */
    void updateDictData(SysDictDataVO sysDictDataVO);

    /**
     * 根据查询条件查询信息
     */
    List<SysDictDataDO> selectListByCondition(SysDictDataVO sysDictDataVO);

    /**
     * 根据id查询
     */
    SysDictDataDO selectById(Long id);

    /**
     * 根据Id删除
     *
     * @param id
     */
    void deleteById(Long id);

    /**
     * 根据字典类型查询字典数据
     *
     * @param dictType 字典类型
     * @return 字典数据集合信息
     */
    List<SysDictDataDO> selectDictDataByType(String dictType);

    /**
     * 查询字典数据
     *
     * @param dictType 字典类型
     * @return 字典数据
     */
    int countDictDataByType(String dictType);


    void updateDictDataType(String oldDictType, String newDictType);
}
